//请求模板信息表
const mongoose = require("./mgdb.js");
const crypto = require('crypto');
const promisify = require("util").promisify;
const {
	DataRls
} = require("../config/class.js");



// 定义模型的规则    
const templateSchema = new mongoose.Schema({
	name: {
		type: String,
		required: true
	},
	room: {
		type: String,
		required: true
	},
	sendID: {
		type: String,
		required: true
	},
	receiveID: {
		type: String
	},
	message: {
		type: String,
		required: true
	},
	sendType: {
		type: String,
		required: true
	}
});

const Template = mongoose.model('template', templateSchema);

// 获取所有的模板
async function getTemplates() {
	try {
		let TemplateList = await Template.find();

		return new DataRls(
			TemplateList ? "模板获取成功" : "模板获取失败",
			TemplateList, // 返回的用户信息    
			Boolean(TemplateList) // 登录结果    
		);
	} catch (e) {
		return new DataRls(
			"模板获取失败",
			null, // 返回的用户信息    
			false // 登录结果    
		);
	}
}

//保存一个新的模板
async function saveTemplates(body) {
	try {
		let TemplateList = await Template.create(body);

		return new DataRls(
			TemplateList ? "模板保存成功" : "模板保存失败",
			TemplateList, // 返回的用户信息    
			Boolean(TemplateList) // 登录结果    
		);
	} catch (error) {
		console.log("模板");
		console.log(error);
		return new DataRls(
			"模板获取失败",
			null, // 返回的用户信息    
			false, // 登录结果
			error
		);
	}
}


module.exports = {
	Template, //模板数据库规则
	getTemplates, //获取所有模板
	saveTemplates //保存一个模板
}